package com.heima.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.heima.common.utils.BooleanToIntegerDeserializer;
import com.heima.common.utils.IntegerToBooleanSerializer;
import lombok.Data;

@Data
@TableName("tb_user")
public class User {
    /**
     * 主键，自增
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 角色ID
     */
    private Integer roleId;

    /**
     * 用户名称
     */

    private String userName;

    /**
     * 登录名
     */
    private String loginName;

    /**
     * 密码（加密后）
     */
    private String password;

    /**
     * 私钥
     */
    private String secret;

    /**
     * 角色编号
     */
    private String roleCode;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 所属区域ID
     */
    private Long regionId;

    /**
     * 区域名称
     */
    private String regionName;

    /**
     * 是否启用：1-启用，0-禁用
     */
    //TODO 这里前端传来的 值是boolean，这里接收的时候会转换成Integer,使用自定义的 转换器;
    @JsonDeserialize(using = BooleanToIntegerDeserializer.class) //使用自定义反序列化
    @JsonSerialize(using = IntegerToBooleanSerializer.class)       // 控制序列化
    private Integer status ;

    /**
     * 头像URL
     */
    private String image;
}
